package com.ruoyi.system.api.mapper;

import com.ruoyi.system.api.domain.InstrumentInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 仪器 历史数据初始化到此，CC有新仪器同步到此Mapper接口
 * 
 * @author shihx
 * @date 2020-03-05
 */
public interface InstrumentInfoMapper 
{
    /**
     * 查询仪器 历史数据初始化到此，CC有新仪器同步到此
     * 
     * @param id 仪器 历史数据初始化到此，CC有新仪器同步到此ID
     * @return 仪器 历史数据初始化到此，CC有新仪器同步到此
     */
    public InstrumentInfo selectInstrumentInfoById(Long id);

    /**
     * 查询仪器 历史数据初始化到此，CC有新仪器同步到此列表
     * 
     * @param instrumentInfo 仪器 历史数据初始化到此，CC有新仪器同步到此
     * @return 仪器 历史数据初始化到此，CC有新仪器同步到此集合
     */
    public List<InstrumentInfo> selectInstrumentInfoList(InstrumentInfo instrumentInfo);

    /**
     * 新增仪器 历史数据初始化到此，CC有新仪器同步到此
     * 
     * @param instrumentInfo 仪器 历史数据初始化到此，CC有新仪器同步到此
     * @return 结果
     */
    public int insertInstrumentInfo(InstrumentInfo instrumentInfo);

    /**
     * 修改仪器 历史数据初始化到此，CC有新仪器同步到此
     * 
     * @param instrumentInfo 仪器 历史数据初始化到此，CC有新仪器同步到此
     * @return 结果
     */
    public int updateInstrumentInfo(InstrumentInfo instrumentInfo);

    /**
     * 删除仪器 历史数据初始化到此，CC有新仪器同步到此
     * 
     * @param id 仪器 历史数据初始化到此，CC有新仪器同步到此ID
     * @return 结果
     */
    public int deleteInstrumentInfoById(Long id);

    /**
     * 批量删除仪器 历史数据初始化到此，CC有新仪器同步到此
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteInstrumentInfoByIds(String[] ids);

    /**
     * 通过服务单主键ID 获取设备的经纬度信息
     * @methodName: getInstrumentInfoList
     * @description: TODO
     * @param ServiceNoticeId
     * @return: java.util.List<com.ruoyi.system.api.domain.InstrumentInfo>
     * @author: shihx
     * @date: 2020/3/5 11:11
    **/
    public List<InstrumentInfo> getInstrumentInfoList(@Param(value="ServiceNoticeId") String ServiceNoticeId);


    public int updateInstrumentInfoAccoutfse(InstrumentInfo instrumentInfo);


    /**
     *  根据服务单号查询仪器信息
     *
     * @param serviceNo
     * @return com.ruoyi.system.api.domain.InstrumentInfo
     * @author yzg
     * @date 2020/4/5 12:25 下午
     */
    public InstrumentInfo selectInstrumentInfoByServiceNo(@Param("serviceNo") String serviceNo);

    public int updateSyncInstrumentInfo(InstrumentInfo instrumentInfo);

}
